User interface mechanisms, such as joysticks, computer mice, and trackballs, are well known for inputting data into and interfacing with personal computers. Similarly, joysticks are well known for inputting data into and interfacing with computers (e.g. game consoles) for various gaming applications, for example, flight simulation, robotic control, video games, arcades, etc. In addition to the consumer applications, joysticks and other user interface mechanisms are used in industrial applications, for example, for controlling robotics, computers, and machinery, such as tail lifts, backhoes, and other known machinery. Such industrial applications may require high reliability and accuracy.
Pointing devices allow rapid relocation of a cursor on a monitor, and are useful in many text, database, and graphical programs. A user controls the cursor, for example, by moving the mouse over a surface to move the cursor in a direction and over distance proportional to the movement of the mouse. Pointing devices, generally, detect only incremental motion or change in positions; however, pointing devices do not detect absolute position of the cursor. Typically, mice technology has a loose count of the incremental motions of the pointing device or, in other words, mice technology tolerates error. The error is implicitly corrected using a negative feedback operation via the user. If the user observes the error in the position of the cursor, the user corrects the error by moving the pointing device accordingly to reposition the cursor. Conversely, joysticks and other user interface mechanisms generally detect the absolute position of the device. Absolute position may be determined by accumulating the incremental motions; however, drift in the absolution may be introduced by the positional error.
Traditionally, joysticks have used a pair of potentiometers coupled to a moving member, for example, the joystick handle, by an apparatus, which separates the x- and y-axis movement of the joystick handle into separate rotational movement in such a way that the x-component of handle motion transfers to one potentiometer and the y-component transfers to the other potentiometer.
More recently, some conventional joysticks used in personal computer (PC) gaming have included a “twist” axis, in which twisting the joystick handle caused a third potentiometer to be rotated. For example, twist axes may be used in flight simulation PC gaming, in which the twist action controls a function, such as, the rudder control. Twist axes may also be used in robotic controls for twisting an appendage of a robot or for spinning the robot. Twist axes may also be used in high-end joysticks used in other consumer and industrial applications.
Use of potentiometers to sense joystick handle motion has a number of disadvantages, most significantly, the reliability of potentiometers. An inexpensive potentiometer may have a life of only a few hundred thousand cycles, which is equivalent to only a few months of regular use. Higher quality devices may have a life of a few million cycles, but that still results in a reliable life of little more than a year if the joystick is regularly used; however, these devices typically cost significantly more—often up to approximately $0.50. Thus, the cost of making a joystick with 1-2 year life may include $1.50 or more just for the potentiometers.
Conventional potentiometer-based joysticks also have disadvantages with respect to accuracy, centering, precision linearity of potentiometers output (typically +/−20%), scaling, and mechanical complexity. With respect to accuracy and centering, drift may exist in the absolute position of the joystick when the accumulated counts or displacements have error, indicating that the joystick is slightly off-centered, when in fact the joystick is centered. Drift affects the precision of the conventional potentiometer-based joysticks as well. With respect to linearity, conventional potentiometer-based joysticks may have non-uniformity in the output signals because of the printed resistive track. The potentiometer has a non-uniform resistivity on the surface of the track, which results in differing output values for equal distance movements of the wiper over different areas of the track. With respect to noise, the wiper of the potentiometers at times, especially after being worn down over time, may lose contact with the resistive surface. By losing contact with the surface, the wiper introduces additional noise into the system. Furthermore, the potentiometers introduce additional electrical noise due to the electrical nature of potentiometers.
For these reason, there have been many attempts to develop non-contacting joystick reading technologies. Many conventional optical, electromagnetic, and capacitive solutions to this problem have been brought to market, but the conventional optical solution is the only one sufficiently cost-effective to have been successfully applied to the mass market. However, this conventional optical solution is no less expensive than a high quality potentiometer solution. This solution utilizes variations in the intensity of an optical light source, such as a light emitting diode (LED), as the angle between the LED and a photodiode array changes to detect the motion of a joystick handle. This analog optical technology has many of the same accuracy, precision, centering and scaling problems of conventional potentiometer-based joysticks. Furthermore, the conventional analog optical joysticks have disadvantages with respect to their mechanical complexity.
Conventional trackball mouse designs area derivative of mice designs. Conventional trackballs may be used to also allow rapid relocation of the cursor on the monitor, but do so by rotating the trackball with a user's thumb, finger, or palm of the hand. Conventional trackballs detect only incremental motion or change in positions, and do not detect absolute positions of the cursor. Conventional trackballs also have a loose count of the incremental motions, and similarly, tolerates such error due to the negative feedback of the user.